package com.wodan.zhongjinjicang.common.orm.command;

import java.lang.reflect.Method;

import com.wodan.zhongjinjicang.common.orm.metadata.MethodMetaData;
import com.wodan.zhongjinjicang.common.orm.metadata.TableMetaData;
import org.apache.ibatis.mapping.SqlCommandType;



/**
 * sql命令执行的代理
 * @ClassName: SqlCommandExecutor 
 * @author Administrator
 * @date 2015-11-5 下午4:38:09 
 * @history 
 *
 */
public interface SqlCommandExecutor {
	/**
	 * 执行jdbc方法
	 * @Description:
	 * @param tableMetaData 
	 * @param methodMetaData
	 * @param args
	 * @return
	 */
	public Object execute(TableMetaData tableMetaData, MethodMetaData methodMetaData, Object[] args);
	
	/**
	 * 得到执行的方法
	 * @Description:
	 * @return
	 */
	public Method getProxyMethod();
	
	/**
	 * 获取sqlcommand类型
	 * @Description:
	 * @return
	 */
	public SqlCommandType getSqlCommandType();
}
